package cn.iocoder.yudao.module.scrm.controller.admin.refund.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.*;

import java.time.LocalDate;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import java.math.BigDecimal;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.*;

@Schema(description = "管理后台 - 退款分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class RefundPageReqVO extends PageParam {

    @Schema(description = "退款编号--->订单编号")
    private String no;

    @Schema(description = "订单号", example = "16699")
    private Long orderId;

    @Schema(description = "客户编号", example = "14758")
    private Long customerId;

    @Schema(description = "合同编号", example = "3835")
    private Long contractId;

    @Schema(description = "负责人编号", example = "5279")
    private List<String> ownerUserId;

    @Schema(description = "退款日期")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY)
    @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY, timezone = TIME_ZONE_DEFAULT)
    private LocalDate[] returnTime;

    @Schema(description = "户名", example = "赵六")
    private String accountName;

    @Schema(description = "卡号")
    private String cardNumber;

    @Schema(description = "开户行", example = "赵六")
    private String bankName;

    @Schema(description = "退款金额", example = "30058")
    private BigDecimal price;

    @Schema(description = "附件信息")
    private String attachment;

    @Schema(description = "工作流编号", example = "16880")
    private Long processInstanceId;

    @Schema(description = "审批状态", example = "2")
    private Integer auditStatus;

    @Schema(description = "备注信息", example = "随便")
    private String remark;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

}